package com.ruoyi.merchant.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单评价对象 order_reviews
 * 
 * @author ruoyi
 * @date 2025-10-22
 */
public class OrderReviews extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评价ID */
    @Excel(name = "评价ID")
    private String reviewId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private String orderId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private String customerId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private String merchantId;

    /** 评分 */
    @Excel(name = "评分")
    private Long score;

    /** 评价内容 */
    @Excel(name = "评价内容")
    private String content;

    /** 图片数组 */
    @Excel(name = "图片数组")
    private String images;

    /** 是否匿名 */
    @Excel(name = "是否匿名")
    private Long isAnonymous;

    /** 商家回复 */
    @Excel(name = "商家回复")
    private String replyContent;

    /** 回复时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repliedAt;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 删除时间（软删除） */
    @Excel(name = "删除时间", readConverterExp = "软=删除")
    private Date deletedAt;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String externField1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String externField2;

    public void setReviewId(String reviewId) 
    {
        this.reviewId = reviewId;
    }

    public String getReviewId() 
    {
        return reviewId;
    }

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setCustomerId(String customerId) 
    {
        this.customerId = customerId;
    }

    public String getCustomerId() 
    {
        return customerId;
    }

    public void setMerchantId(String merchantId) 
    {
        this.merchantId = merchantId;
    }

    public String getMerchantId() 
    {
        return merchantId;
    }

    public void setScore(Long score) 
    {
        this.score = score;
    }

    public Long getScore() 
    {
        return score;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setImages(String images) 
    {
        this.images = images;
    }

    public String getImages() 
    {
        return images;
    }

    public void setIsAnonymous(Long isAnonymous) 
    {
        this.isAnonymous = isAnonymous;
    }

    public Long getIsAnonymous() 
    {
        return isAnonymous;
    }

    public void setReplyContent(String replyContent) 
    {
        this.replyContent = replyContent;
    }

    public String getReplyContent() 
    {
        return replyContent;
    }

    public void setRepliedAt(Date repliedAt) 
    {
        this.repliedAt = repliedAt;
    }

    public Date getRepliedAt() 
    {
        return repliedAt;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    public void setDeletedAt(Date deletedAt) 
    {
        this.deletedAt = deletedAt;
    }

    public Date getDeletedAt() 
    {
        return deletedAt;
    }

    public void setExternField1(String externField1) 
    {
        this.externField1 = externField1;
    }

    public String getExternField1() 
    {
        return externField1;
    }

    public void setExternField2(String externField2) 
    {
        this.externField2 = externField2;
    }

    public String getExternField2() 
    {
        return externField2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reviewId", getReviewId())
            .append("orderId", getOrderId())
            .append("customerId", getCustomerId())
            .append("merchantId", getMerchantId())
            .append("score", getScore())
            .append("content", getContent())
            .append("images", getImages())
            .append("isAnonymous", getIsAnonymous())
            .append("replyContent", getReplyContent())
            .append("repliedAt", getRepliedAt())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("deletedAt", getDeletedAt())
            .append("externField1", getExternField1())
            .append("externField2", getExternField2())
            .toString();
    }
}
